package com.ea.repository.entity;

import java.util.ArrayList;
import java.util.List;
import java.util.Date;

/**
* 表单字段信息 Example
*
* @author Xiong Cai
* @since 2024-11-11 11:01
*/
public class FormFieldExample {

    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public FormFieldExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(String value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(String value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(String value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(String value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(String value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(String value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLike(String value) {
            addCriterion("id like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotLike(String value) {
            addCriterion("id not like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<String> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<String> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(String value1, String value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(String value1, String value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andAppIdIsNull() {
            addCriterion("app_id is null");
            return (Criteria) this;
        }

        public Criteria andAppIdIsNotNull() {
            addCriterion("app_id is not null");
            return (Criteria) this;
        }

        public Criteria andAppIdEqualTo(String value) {
            addCriterion("app_id =", value, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdNotEqualTo(String value) {
            addCriterion("app_id <>", value, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdGreaterThan(String value) {
            addCriterion("app_id >", value, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdGreaterThanOrEqualTo(String value) {
            addCriterion("app_id >=", value, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdLessThan(String value) {
            addCriterion("app_id <", value, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdLessThanOrEqualTo(String value) {
            addCriterion("app_id <=", value, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdLike(String value) {
            addCriterion("app_id like", value, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdNotLike(String value) {
            addCriterion("app_id not like", value, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdIn(List<String> values) {
            addCriterion("app_id in", values, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdNotIn(List<String> values) {
            addCriterion("app_id not in", values, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdBetween(String value1, String value2) {
            addCriterion("app_id between", value1, value2, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdNotBetween(String value1, String value2) {
            addCriterion("app_id not between", value1, value2, "appId");
            return (Criteria) this;
        }

        public Criteria andFormIdIsNull() {
            addCriterion("form_id is null");
            return (Criteria) this;
        }

        public Criteria andFormIdIsNotNull() {
            addCriterion("form_id is not null");
            return (Criteria) this;
        }

        public Criteria andFormIdEqualTo(String value) {
            addCriterion("form_id =", value, "formId");
            return (Criteria) this;
        }

        public Criteria andFormIdNotEqualTo(String value) {
            addCriterion("form_id <>", value, "formId");
            return (Criteria) this;
        }

        public Criteria andFormIdGreaterThan(String value) {
            addCriterion("form_id >", value, "formId");
            return (Criteria) this;
        }

        public Criteria andFormIdGreaterThanOrEqualTo(String value) {
            addCriterion("form_id >=", value, "formId");
            return (Criteria) this;
        }

        public Criteria andFormIdLessThan(String value) {
            addCriterion("form_id <", value, "formId");
            return (Criteria) this;
        }

        public Criteria andFormIdLessThanOrEqualTo(String value) {
            addCriterion("form_id <=", value, "formId");
            return (Criteria) this;
        }

        public Criteria andFormIdLike(String value) {
            addCriterion("form_id like", value, "formId");
            return (Criteria) this;
        }

        public Criteria andFormIdNotLike(String value) {
            addCriterion("form_id not like", value, "formId");
            return (Criteria) this;
        }

        public Criteria andFormIdIn(List<String> values) {
            addCriterion("form_id in", values, "formId");
            return (Criteria) this;
        }

        public Criteria andFormIdNotIn(List<String> values) {
            addCriterion("form_id not in", values, "formId");
            return (Criteria) this;
        }

        public Criteria andFormIdBetween(String value1, String value2) {
            addCriterion("form_id between", value1, value2, "formId");
            return (Criteria) this;
        }

        public Criteria andFormIdNotBetween(String value1, String value2) {
            addCriterion("form_id not between", value1, value2, "formId");
            return (Criteria) this;
        }

        public Criteria andFieldNameIsNull() {
            addCriterion("field_name is null");
            return (Criteria) this;
        }

        public Criteria andFieldNameIsNotNull() {
            addCriterion("field_name is not null");
            return (Criteria) this;
        }

        public Criteria andFieldNameEqualTo(String value) {
            addCriterion("field_name =", value, "fieldName");
            return (Criteria) this;
        }

        public Criteria andFieldNameNotEqualTo(String value) {
            addCriterion("field_name <>", value, "fieldName");
            return (Criteria) this;
        }

        public Criteria andFieldNameGreaterThan(String value) {
            addCriterion("field_name >", value, "fieldName");
            return (Criteria) this;
        }

        public Criteria andFieldNameGreaterThanOrEqualTo(String value) {
            addCriterion("field_name >=", value, "fieldName");
            return (Criteria) this;
        }

        public Criteria andFieldNameLessThan(String value) {
            addCriterion("field_name <", value, "fieldName");
            return (Criteria) this;
        }

        public Criteria andFieldNameLessThanOrEqualTo(String value) {
            addCriterion("field_name <=", value, "fieldName");
            return (Criteria) this;
        }

        public Criteria andFieldNameLike(String value) {
            addCriterion("field_name like", value, "fieldName");
            return (Criteria) this;
        }

        public Criteria andFieldNameNotLike(String value) {
            addCriterion("field_name not like", value, "fieldName");
            return (Criteria) this;
        }

        public Criteria andFieldNameIn(List<String> values) {
            addCriterion("field_name in", values, "fieldName");
            return (Criteria) this;
        }

        public Criteria andFieldNameNotIn(List<String> values) {
            addCriterion("field_name not in", values, "fieldName");
            return (Criteria) this;
        }

        public Criteria andFieldNameBetween(String value1, String value2) {
            addCriterion("field_name between", value1, value2, "fieldName");
            return (Criteria) this;
        }

        public Criteria andFieldNameNotBetween(String value1, String value2) {
            addCriterion("field_name not between", value1, value2, "fieldName");
            return (Criteria) this;
        }

        public Criteria andShowNameIsNull() {
            addCriterion("show_name is null");
            return (Criteria) this;
        }

        public Criteria andShowNameIsNotNull() {
            addCriterion("show_name is not null");
            return (Criteria) this;
        }

        public Criteria andShowNameEqualTo(String value) {
            addCriterion("show_name =", value, "showName");
            return (Criteria) this;
        }

        public Criteria andShowNameNotEqualTo(String value) {
            addCriterion("show_name <>", value, "showName");
            return (Criteria) this;
        }

        public Criteria andShowNameGreaterThan(String value) {
            addCriterion("show_name >", value, "showName");
            return (Criteria) this;
        }

        public Criteria andShowNameGreaterThanOrEqualTo(String value) {
            addCriterion("show_name >=", value, "showName");
            return (Criteria) this;
        }

        public Criteria andShowNameLessThan(String value) {
            addCriterion("show_name <", value, "showName");
            return (Criteria) this;
        }

        public Criteria andShowNameLessThanOrEqualTo(String value) {
            addCriterion("show_name <=", value, "showName");
            return (Criteria) this;
        }

        public Criteria andShowNameLike(String value) {
            addCriterion("show_name like", value, "showName");
            return (Criteria) this;
        }

        public Criteria andShowNameNotLike(String value) {
            addCriterion("show_name not like", value, "showName");
            return (Criteria) this;
        }

        public Criteria andShowNameIn(List<String> values) {
            addCriterion("show_name in", values, "showName");
            return (Criteria) this;
        }

        public Criteria andShowNameNotIn(List<String> values) {
            addCriterion("show_name not in", values, "showName");
            return (Criteria) this;
        }

        public Criteria andShowNameBetween(String value1, String value2) {
            addCriterion("show_name between", value1, value2, "showName");
            return (Criteria) this;
        }

        public Criteria andShowNameNotBetween(String value1, String value2) {
            addCriterion("show_name not between", value1, value2, "showName");
            return (Criteria) this;
        }

        public Criteria andDbTypeIsNull() {
            addCriterion("db_type is null");
            return (Criteria) this;
        }

        public Criteria andDbTypeIsNotNull() {
            addCriterion("db_type is not null");
            return (Criteria) this;
        }

        public Criteria andDbTypeEqualTo(String value) {
            addCriterion("db_type =", value, "dbType");
            return (Criteria) this;
        }

        public Criteria andDbTypeNotEqualTo(String value) {
            addCriterion("db_type <>", value, "dbType");
            return (Criteria) this;
        }

        public Criteria andDbTypeGreaterThan(String value) {
            addCriterion("db_type >", value, "dbType");
            return (Criteria) this;
        }

        public Criteria andDbTypeGreaterThanOrEqualTo(String value) {
            addCriterion("db_type >=", value, "dbType");
            return (Criteria) this;
        }

        public Criteria andDbTypeLessThan(String value) {
            addCriterion("db_type <", value, "dbType");
            return (Criteria) this;
        }

        public Criteria andDbTypeLessThanOrEqualTo(String value) {
            addCriterion("db_type <=", value, "dbType");
            return (Criteria) this;
        }

        public Criteria andDbTypeLike(String value) {
            addCriterion("db_type like", value, "dbType");
            return (Criteria) this;
        }

        public Criteria andDbTypeNotLike(String value) {
            addCriterion("db_type not like", value, "dbType");
            return (Criteria) this;
        }

        public Criteria andDbTypeIn(List<String> values) {
            addCriterion("db_type in", values, "dbType");
            return (Criteria) this;
        }

        public Criteria andDbTypeNotIn(List<String> values) {
            addCriterion("db_type not in", values, "dbType");
            return (Criteria) this;
        }

        public Criteria andDbTypeBetween(String value1, String value2) {
            addCriterion("db_type between", value1, value2, "dbType");
            return (Criteria) this;
        }

        public Criteria andDbTypeNotBetween(String value1, String value2) {
            addCriterion("db_type not between", value1, value2, "dbType");
            return (Criteria) this;
        }

        public Criteria andDbLengthIsNull() {
            addCriterion("db_length is null");
            return (Criteria) this;
        }

        public Criteria andDbLengthIsNotNull() {
            addCriterion("db_length is not null");
            return (Criteria) this;
        }

        public Criteria andDbLengthEqualTo(Integer value) {
            addCriterion("db_length =", value, "dbLength");
            return (Criteria) this;
        }

        public Criteria andDbLengthNotEqualTo(Integer value) {
            addCriterion("db_length <>", value, "dbLength");
            return (Criteria) this;
        }

        public Criteria andDbLengthGreaterThan(Integer value) {
            addCriterion("db_length >", value, "dbLength");
            return (Criteria) this;
        }

        public Criteria andDbLengthGreaterThanOrEqualTo(Integer value) {
            addCriterion("db_length >=", value, "dbLength");
            return (Criteria) this;
        }

        public Criteria andDbLengthLessThan(Integer value) {
            addCriterion("db_length <", value, "dbLength");
            return (Criteria) this;
        }

        public Criteria andDbLengthLessThanOrEqualTo(Integer value) {
            addCriterion("db_length <=", value, "dbLength");
            return (Criteria) this;
        }

        public Criteria andDbLengthIn(List<Integer> values) {
            addCriterion("db_length in", values, "dbLength");
            return (Criteria) this;
        }

        public Criteria andDbLengthNotIn(List<Integer> values) {
            addCriterion("db_length not in", values, "dbLength");
            return (Criteria) this;
        }

        public Criteria andDbLengthBetween(Integer value1, Integer value2) {
            addCriterion("db_length between", value1, value2, "dbLength");
            return (Criteria) this;
        }

        public Criteria andDbLengthNotBetween(Integer value1, Integer value2) {
            addCriterion("db_length not between", value1, value2, "dbLength");
            return (Criteria) this;
        }

        public Criteria andDbDecimalIsNull() {
            addCriterion("db_decimal is null");
            return (Criteria) this;
        }

        public Criteria andDbDecimalIsNotNull() {
            addCriterion("db_decimal is not null");
            return (Criteria) this;
        }

        public Criteria andDbDecimalEqualTo(Integer value) {
            addCriterion("db_decimal =", value, "dbDecimal");
            return (Criteria) this;
        }

        public Criteria andDbDecimalNotEqualTo(Integer value) {
            addCriterion("db_decimal <>", value, "dbDecimal");
            return (Criteria) this;
        }

        public Criteria andDbDecimalGreaterThan(Integer value) {
            addCriterion("db_decimal >", value, "dbDecimal");
            return (Criteria) this;
        }

        public Criteria andDbDecimalGreaterThanOrEqualTo(Integer value) {
            addCriterion("db_decimal >=", value, "dbDecimal");
            return (Criteria) this;
        }

        public Criteria andDbDecimalLessThan(Integer value) {
            addCriterion("db_decimal <", value, "dbDecimal");
            return (Criteria) this;
        }

        public Criteria andDbDecimalLessThanOrEqualTo(Integer value) {
            addCriterion("db_decimal <=", value, "dbDecimal");
            return (Criteria) this;
        }

        public Criteria andDbDecimalIn(List<Integer> values) {
            addCriterion("db_decimal in", values, "dbDecimal");
            return (Criteria) this;
        }

        public Criteria andDbDecimalNotIn(List<Integer> values) {
            addCriterion("db_decimal not in", values, "dbDecimal");
            return (Criteria) this;
        }

        public Criteria andDbDecimalBetween(Integer value1, Integer value2) {
            addCriterion("db_decimal between", value1, value2, "dbDecimal");
            return (Criteria) this;
        }

        public Criteria andDbDecimalNotBetween(Integer value1, Integer value2) {
            addCriterion("db_decimal not between", value1, value2, "dbDecimal");
            return (Criteria) this;
        }

        public Criteria andSourceIdIsNull() {
            addCriterion("source_id is null");
            return (Criteria) this;
        }

        public Criteria andSourceIdIsNotNull() {
            addCriterion("source_id is not null");
            return (Criteria) this;
        }

        public Criteria andSourceIdEqualTo(String value) {
            addCriterion("source_id =", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdNotEqualTo(String value) {
            addCriterion("source_id <>", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdGreaterThan(String value) {
            addCriterion("source_id >", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdGreaterThanOrEqualTo(String value) {
            addCriterion("source_id >=", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdLessThan(String value) {
            addCriterion("source_id <", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdLessThanOrEqualTo(String value) {
            addCriterion("source_id <=", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdLike(String value) {
            addCriterion("source_id like", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdNotLike(String value) {
            addCriterion("source_id not like", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdIn(List<String> values) {
            addCriterion("source_id in", values, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdNotIn(List<String> values) {
            addCriterion("source_id not in", values, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdBetween(String value1, String value2) {
            addCriterion("source_id between", value1, value2, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdNotBetween(String value1, String value2) {
            addCriterion("source_id not between", value1, value2, "sourceId");
            return (Criteria) this;
        }

        public Criteria andHtmlTypeIsNull() {
            addCriterion("html_type is null");
            return (Criteria) this;
        }

        public Criteria andHtmlTypeIsNotNull() {
            addCriterion("html_type is not null");
            return (Criteria) this;
        }

        public Criteria andHtmlTypeEqualTo(Integer value) {
            addCriterion("html_type =", value, "htmlType");
            return (Criteria) this;
        }

        public Criteria andHtmlTypeNotEqualTo(Integer value) {
            addCriterion("html_type <>", value, "htmlType");
            return (Criteria) this;
        }

        public Criteria andHtmlTypeGreaterThan(Integer value) {
            addCriterion("html_type >", value, "htmlType");
            return (Criteria) this;
        }

        public Criteria andHtmlTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("html_type >=", value, "htmlType");
            return (Criteria) this;
        }

        public Criteria andHtmlTypeLessThan(Integer value) {
            addCriterion("html_type <", value, "htmlType");
            return (Criteria) this;
        }

        public Criteria andHtmlTypeLessThanOrEqualTo(Integer value) {
            addCriterion("html_type <=", value, "htmlType");
            return (Criteria) this;
        }

        public Criteria andHtmlTypeIn(List<Integer> values) {
            addCriterion("html_type in", values, "htmlType");
            return (Criteria) this;
        }

        public Criteria andHtmlTypeNotIn(List<Integer> values) {
            addCriterion("html_type not in", values, "htmlType");
            return (Criteria) this;
        }

        public Criteria andHtmlTypeBetween(Integer value1, Integer value2) {
            addCriterion("html_type between", value1, value2, "htmlType");
            return (Criteria) this;
        }

        public Criteria andHtmlTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("html_type not between", value1, value2, "htmlType");
            return (Criteria) this;
        }

        public Criteria andIsMultipleIsNull() {
            addCriterion("is_multiple is null");
            return (Criteria) this;
        }

        public Criteria andIsMultipleIsNotNull() {
            addCriterion("is_multiple is not null");
            return (Criteria) this;
        }

        public Criteria andIsMultipleEqualTo(String value) {
            addCriterion("is_multiple =", value, "isMultiple");
            return (Criteria) this;
        }

        public Criteria andIsMultipleNotEqualTo(String value) {
            addCriterion("is_multiple <>", value, "isMultiple");
            return (Criteria) this;
        }

        public Criteria andIsMultipleGreaterThan(String value) {
            addCriterion("is_multiple >", value, "isMultiple");
            return (Criteria) this;
        }

        public Criteria andIsMultipleGreaterThanOrEqualTo(String value) {
            addCriterion("is_multiple >=", value, "isMultiple");
            return (Criteria) this;
        }

        public Criteria andIsMultipleLessThan(String value) {
            addCriterion("is_multiple <", value, "isMultiple");
            return (Criteria) this;
        }

        public Criteria andIsMultipleLessThanOrEqualTo(String value) {
            addCriterion("is_multiple <=", value, "isMultiple");
            return (Criteria) this;
        }

        public Criteria andIsMultipleLike(String value) {
            addCriterion("is_multiple like", value, "isMultiple");
            return (Criteria) this;
        }

        public Criteria andIsMultipleNotLike(String value) {
            addCriterion("is_multiple not like", value, "isMultiple");
            return (Criteria) this;
        }

        public Criteria andIsMultipleIn(List<String> values) {
            addCriterion("is_multiple in", values, "isMultiple");
            return (Criteria) this;
        }

        public Criteria andIsMultipleNotIn(List<String> values) {
            addCriterion("is_multiple not in", values, "isMultiple");
            return (Criteria) this;
        }

        public Criteria andIsMultipleBetween(String value1, String value2) {
            addCriterion("is_multiple between", value1, value2, "isMultiple");
            return (Criteria) this;
        }

        public Criteria andIsMultipleNotBetween(String value1, String value2) {
            addCriterion("is_multiple not between", value1, value2, "isMultiple");
            return (Criteria) this;
        }

        public Criteria andPrefixIsNull() {
            addCriterion("prefix is null");
            return (Criteria) this;
        }

        public Criteria andPrefixIsNotNull() {
            addCriterion("prefix is not null");
            return (Criteria) this;
        }

        public Criteria andPrefixEqualTo(String value) {
            addCriterion("prefix =", value, "prefix");
            return (Criteria) this;
        }

        public Criteria andPrefixNotEqualTo(String value) {
            addCriterion("prefix <>", value, "prefix");
            return (Criteria) this;
        }

        public Criteria andPrefixGreaterThan(String value) {
            addCriterion("prefix >", value, "prefix");
            return (Criteria) this;
        }

        public Criteria andPrefixGreaterThanOrEqualTo(String value) {
            addCriterion("prefix >=", value, "prefix");
            return (Criteria) this;
        }

        public Criteria andPrefixLessThan(String value) {
            addCriterion("prefix <", value, "prefix");
            return (Criteria) this;
        }

        public Criteria andPrefixLessThanOrEqualTo(String value) {
            addCriterion("prefix <=", value, "prefix");
            return (Criteria) this;
        }

        public Criteria andPrefixLike(String value) {
            addCriterion("prefix like", value, "prefix");
            return (Criteria) this;
        }

        public Criteria andPrefixNotLike(String value) {
            addCriterion("prefix not like", value, "prefix");
            return (Criteria) this;
        }

        public Criteria andPrefixIn(List<String> values) {
            addCriterion("prefix in", values, "prefix");
            return (Criteria) this;
        }

        public Criteria andPrefixNotIn(List<String> values) {
            addCriterion("prefix not in", values, "prefix");
            return (Criteria) this;
        }

        public Criteria andPrefixBetween(String value1, String value2) {
            addCriterion("prefix between", value1, value2, "prefix");
            return (Criteria) this;
        }

        public Criteria andPrefixNotBetween(String value1, String value2) {
            addCriterion("prefix not between", value1, value2, "prefix");
            return (Criteria) this;
        }

        public Criteria andSuffixIsNull() {
            addCriterion("suffix is null");
            return (Criteria) this;
        }

        public Criteria andSuffixIsNotNull() {
            addCriterion("suffix is not null");
            return (Criteria) this;
        }

        public Criteria andSuffixEqualTo(String value) {
            addCriterion("suffix =", value, "suffix");
            return (Criteria) this;
        }

        public Criteria andSuffixNotEqualTo(String value) {
            addCriterion("suffix <>", value, "suffix");
            return (Criteria) this;
        }

        public Criteria andSuffixGreaterThan(String value) {
            addCriterion("suffix >", value, "suffix");
            return (Criteria) this;
        }

        public Criteria andSuffixGreaterThanOrEqualTo(String value) {
            addCriterion("suffix >=", value, "suffix");
            return (Criteria) this;
        }

        public Criteria andSuffixLessThan(String value) {
            addCriterion("suffix <", value, "suffix");
            return (Criteria) this;
        }

        public Criteria andSuffixLessThanOrEqualTo(String value) {
            addCriterion("suffix <=", value, "suffix");
            return (Criteria) this;
        }

        public Criteria andSuffixLike(String value) {
            addCriterion("suffix like", value, "suffix");
            return (Criteria) this;
        }

        public Criteria andSuffixNotLike(String value) {
            addCriterion("suffix not like", value, "suffix");
            return (Criteria) this;
        }

        public Criteria andSuffixIn(List<String> values) {
            addCriterion("suffix in", values, "suffix");
            return (Criteria) this;
        }

        public Criteria andSuffixNotIn(List<String> values) {
            addCriterion("suffix not in", values, "suffix");
            return (Criteria) this;
        }

        public Criteria andSuffixBetween(String value1, String value2) {
            addCriterion("suffix between", value1, value2, "suffix");
            return (Criteria) this;
        }

        public Criteria andSuffixNotBetween(String value1, String value2) {
            addCriterion("suffix not between", value1, value2, "suffix");
            return (Criteria) this;
        }

        public Criteria andFormatPatternIsNull() {
            addCriterion("format_pattern is null");
            return (Criteria) this;
        }

        public Criteria andFormatPatternIsNotNull() {
            addCriterion("format_pattern is not null");
            return (Criteria) this;
        }

        public Criteria andFormatPatternEqualTo(String value) {
            addCriterion("format_pattern =", value, "formatPattern");
            return (Criteria) this;
        }

        public Criteria andFormatPatternNotEqualTo(String value) {
            addCriterion("format_pattern <>", value, "formatPattern");
            return (Criteria) this;
        }

        public Criteria andFormatPatternGreaterThan(String value) {
            addCriterion("format_pattern >", value, "formatPattern");
            return (Criteria) this;
        }

        public Criteria andFormatPatternGreaterThanOrEqualTo(String value) {
            addCriterion("format_pattern >=", value, "formatPattern");
            return (Criteria) this;
        }

        public Criteria andFormatPatternLessThan(String value) {
            addCriterion("format_pattern <", value, "formatPattern");
            return (Criteria) this;
        }

        public Criteria andFormatPatternLessThanOrEqualTo(String value) {
            addCriterion("format_pattern <=", value, "formatPattern");
            return (Criteria) this;
        }

        public Criteria andFormatPatternLike(String value) {
            addCriterion("format_pattern like", value, "formatPattern");
            return (Criteria) this;
        }

        public Criteria andFormatPatternNotLike(String value) {
            addCriterion("format_pattern not like", value, "formatPattern");
            return (Criteria) this;
        }

        public Criteria andFormatPatternIn(List<String> values) {
            addCriterion("format_pattern in", values, "formatPattern");
            return (Criteria) this;
        }

        public Criteria andFormatPatternNotIn(List<String> values) {
            addCriterion("format_pattern not in", values, "formatPattern");
            return (Criteria) this;
        }

        public Criteria andFormatPatternBetween(String value1, String value2) {
            addCriterion("format_pattern between", value1, value2, "formatPattern");
            return (Criteria) this;
        }

        public Criteria andFormatPatternNotBetween(String value1, String value2) {
            addCriterion("format_pattern not between", value1, value2, "formatPattern");
            return (Criteria) this;
        }

        public Criteria andRegularIsNull() {
            addCriterion("regular is null");
            return (Criteria) this;
        }

        public Criteria andRegularIsNotNull() {
            addCriterion("regular is not null");
            return (Criteria) this;
        }

        public Criteria andRegularEqualTo(String value) {
            addCriterion("regular =", value, "regular");
            return (Criteria) this;
        }

        public Criteria andRegularNotEqualTo(String value) {
            addCriterion("regular <>", value, "regular");
            return (Criteria) this;
        }

        public Criteria andRegularGreaterThan(String value) {
            addCriterion("regular >", value, "regular");
            return (Criteria) this;
        }

        public Criteria andRegularGreaterThanOrEqualTo(String value) {
            addCriterion("regular >=", value, "regular");
            return (Criteria) this;
        }

        public Criteria andRegularLessThan(String value) {
            addCriterion("regular <", value, "regular");
            return (Criteria) this;
        }

        public Criteria andRegularLessThanOrEqualTo(String value) {
            addCriterion("regular <=", value, "regular");
            return (Criteria) this;
        }

        public Criteria andRegularLike(String value) {
            addCriterion("regular like", value, "regular");
            return (Criteria) this;
        }

        public Criteria andRegularNotLike(String value) {
            addCriterion("regular not like", value, "regular");
            return (Criteria) this;
        }

        public Criteria andRegularIn(List<String> values) {
            addCriterion("regular in", values, "regular");
            return (Criteria) this;
        }

        public Criteria andRegularNotIn(List<String> values) {
            addCriterion("regular not in", values, "regular");
            return (Criteria) this;
        }

        public Criteria andRegularBetween(String value1, String value2) {
            addCriterion("regular between", value1, value2, "regular");
            return (Criteria) this;
        }

        public Criteria andRegularNotBetween(String value1, String value2) {
            addCriterion("regular not between", value1, value2, "regular");
            return (Criteria) this;
        }

        public Criteria andRegularMsgIsNull() {
            addCriterion("regular_msg is null");
            return (Criteria) this;
        }

        public Criteria andRegularMsgIsNotNull() {
            addCriterion("regular_msg is not null");
            return (Criteria) this;
        }

        public Criteria andRegularMsgEqualTo(String value) {
            addCriterion("regular_msg =", value, "regularMsg");
            return (Criteria) this;
        }

        public Criteria andRegularMsgNotEqualTo(String value) {
            addCriterion("regular_msg <>", value, "regularMsg");
            return (Criteria) this;
        }

        public Criteria andRegularMsgGreaterThan(String value) {
            addCriterion("regular_msg >", value, "regularMsg");
            return (Criteria) this;
        }

        public Criteria andRegularMsgGreaterThanOrEqualTo(String value) {
            addCriterion("regular_msg >=", value, "regularMsg");
            return (Criteria) this;
        }

        public Criteria andRegularMsgLessThan(String value) {
            addCriterion("regular_msg <", value, "regularMsg");
            return (Criteria) this;
        }

        public Criteria andRegularMsgLessThanOrEqualTo(String value) {
            addCriterion("regular_msg <=", value, "regularMsg");
            return (Criteria) this;
        }

        public Criteria andRegularMsgLike(String value) {
            addCriterion("regular_msg like", value, "regularMsg");
            return (Criteria) this;
        }

        public Criteria andRegularMsgNotLike(String value) {
            addCriterion("regular_msg not like", value, "regularMsg");
            return (Criteria) this;
        }

        public Criteria andRegularMsgIn(List<String> values) {
            addCriterion("regular_msg in", values, "regularMsg");
            return (Criteria) this;
        }

        public Criteria andRegularMsgNotIn(List<String> values) {
            addCriterion("regular_msg not in", values, "regularMsg");
            return (Criteria) this;
        }

        public Criteria andRegularMsgBetween(String value1, String value2) {
            addCriterion("regular_msg between", value1, value2, "regularMsg");
            return (Criteria) this;
        }

        public Criteria andRegularMsgNotBetween(String value1, String value2) {
            addCriterion("regular_msg not between", value1, value2, "regularMsg");
            return (Criteria) this;
        }

        public Criteria andNextFieldIsNull() {
            addCriterion("next_field is null");
            return (Criteria) this;
        }

        public Criteria andNextFieldIsNotNull() {
            addCriterion("next_field is not null");
            return (Criteria) this;
        }

        public Criteria andNextFieldEqualTo(String value) {
            addCriterion("next_field =", value, "nextField");
            return (Criteria) this;
        }

        public Criteria andNextFieldNotEqualTo(String value) {
            addCriterion("next_field <>", value, "nextField");
            return (Criteria) this;
        }

        public Criteria andNextFieldGreaterThan(String value) {
            addCriterion("next_field >", value, "nextField");
            return (Criteria) this;
        }

        public Criteria andNextFieldGreaterThanOrEqualTo(String value) {
            addCriterion("next_field >=", value, "nextField");
            return (Criteria) this;
        }

        public Criteria andNextFieldLessThan(String value) {
            addCriterion("next_field <", value, "nextField");
            return (Criteria) this;
        }

        public Criteria andNextFieldLessThanOrEqualTo(String value) {
            addCriterion("next_field <=", value, "nextField");
            return (Criteria) this;
        }

        public Criteria andNextFieldLike(String value) {
            addCriterion("next_field like", value, "nextField");
            return (Criteria) this;
        }

        public Criteria andNextFieldNotLike(String value) {
            addCriterion("next_field not like", value, "nextField");
            return (Criteria) this;
        }

        public Criteria andNextFieldIn(List<String> values) {
            addCriterion("next_field in", values, "nextField");
            return (Criteria) this;
        }

        public Criteria andNextFieldNotIn(List<String> values) {
            addCriterion("next_field not in", values, "nextField");
            return (Criteria) this;
        }

        public Criteria andNextFieldBetween(String value1, String value2) {
            addCriterion("next_field between", value1, value2, "nextField");
            return (Criteria) this;
        }

        public Criteria andNextFieldNotBetween(String value1, String value2) {
            addCriterion("next_field not between", value1, value2, "nextField");
            return (Criteria) this;
        }

        public Criteria andIsRequiredIsNull() {
            addCriterion("is_required is null");
            return (Criteria) this;
        }

        public Criteria andIsRequiredIsNotNull() {
            addCriterion("is_required is not null");
            return (Criteria) this;
        }

        public Criteria andIsRequiredEqualTo(String value) {
            addCriterion("is_required =", value, "isRequired");
            return (Criteria) this;
        }

        public Criteria andIsRequiredNotEqualTo(String value) {
            addCriterion("is_required <>", value, "isRequired");
            return (Criteria) this;
        }

        public Criteria andIsRequiredGreaterThan(String value) {
            addCriterion("is_required >", value, "isRequired");
            return (Criteria) this;
        }

        public Criteria andIsRequiredGreaterThanOrEqualTo(String value) {
            addCriterion("is_required >=", value, "isRequired");
            return (Criteria) this;
        }

        public Criteria andIsRequiredLessThan(String value) {
            addCriterion("is_required <", value, "isRequired");
            return (Criteria) this;
        }

        public Criteria andIsRequiredLessThanOrEqualTo(String value) {
            addCriterion("is_required <=", value, "isRequired");
            return (Criteria) this;
        }

        public Criteria andIsRequiredLike(String value) {
            addCriterion("is_required like", value, "isRequired");
            return (Criteria) this;
        }

        public Criteria andIsRequiredNotLike(String value) {
            addCriterion("is_required not like", value, "isRequired");
            return (Criteria) this;
        }

        public Criteria andIsRequiredIn(List<String> values) {
            addCriterion("is_required in", values, "isRequired");
            return (Criteria) this;
        }

        public Criteria andIsRequiredNotIn(List<String> values) {
            addCriterion("is_required not in", values, "isRequired");
            return (Criteria) this;
        }

        public Criteria andIsRequiredBetween(String value1, String value2) {
            addCriterion("is_required between", value1, value2, "isRequired");
            return (Criteria) this;
        }

        public Criteria andIsRequiredNotBetween(String value1, String value2) {
            addCriterion("is_required not between", value1, value2, "isRequired");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateByIsNull() {
            addCriterion("create_by is null");
            return (Criteria) this;
        }

        public Criteria andCreateByIsNotNull() {
            addCriterion("create_by is not null");
            return (Criteria) this;
        }

        public Criteria andCreateByEqualTo(String value) {
            addCriterion("create_by =", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotEqualTo(String value) {
            addCriterion("create_by <>", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByGreaterThan(String value) {
            addCriterion("create_by >", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByGreaterThanOrEqualTo(String value) {
            addCriterion("create_by >=", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLessThan(String value) {
            addCriterion("create_by <", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLessThanOrEqualTo(String value) {
            addCriterion("create_by <=", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLike(String value) {
            addCriterion("create_by like", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotLike(String value) {
            addCriterion("create_by not like", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByIn(List<String> values) {
            addCriterion("create_by in", values, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotIn(List<String> values) {
            addCriterion("create_by not in", values, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByBetween(String value1, String value2) {
            addCriterion("create_by between", value1, value2, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotBetween(String value1, String value2) {
            addCriterion("create_by not between", value1, value2, "createBy");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateByIsNull() {
            addCriterion("update_by is null");
            return (Criteria) this;
        }

        public Criteria andUpdateByIsNotNull() {
            addCriterion("update_by is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateByEqualTo(String value) {
            addCriterion("update_by =", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotEqualTo(String value) {
            addCriterion("update_by <>", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByGreaterThan(String value) {
            addCriterion("update_by >", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByGreaterThanOrEqualTo(String value) {
            addCriterion("update_by >=", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByLessThan(String value) {
            addCriterion("update_by <", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByLessThanOrEqualTo(String value) {
            addCriterion("update_by <=", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByLike(String value) {
            addCriterion("update_by like", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotLike(String value) {
            addCriterion("update_by not like", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByIn(List<String> values) {
            addCriterion("update_by in", values, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotIn(List<String> values) {
            addCriterion("update_by not in", values, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByBetween(String value1, String value2) {
            addCriterion("update_by between", value1, value2, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotBetween(String value1, String value2) {
            addCriterion("update_by not between", value1, value2, "updateBy");
            return (Criteria) this;
        }

        public Criteria andIsDeleteIsNull() {
            addCriterion("is_delete is null");
            return (Criteria) this;
        }

        public Criteria andIsDeleteIsNotNull() {
            addCriterion("is_delete is not null");
            return (Criteria) this;
        }

        public Criteria andIsDeleteEqualTo(Integer value) {
            addCriterion("is_delete =", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteNotEqualTo(Integer value) {
            addCriterion("is_delete <>", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteGreaterThan(Integer value) {
            addCriterion("is_delete >", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_delete >=", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteLessThan(Integer value) {
            addCriterion("is_delete <", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteLessThanOrEqualTo(Integer value) {
            addCriterion("is_delete <=", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteIn(List<Integer> values) {
            addCriterion("is_delete in", values, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteNotIn(List<Integer> values) {
            addCriterion("is_delete not in", values, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteBetween(Integer value1, Integer value2) {
            addCriterion("is_delete between", value1, value2, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteNotBetween(Integer value1, Integer value2) {
            addCriterion("is_delete not between", value1, value2, "isDelete");
            return (Criteria) this;
        }

    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }

}
